package com.qujia.station.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.qujia.common.annotation.Excel;
import com.qujia.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 班结对象 class_settlement
 *
 * @author qujia
 * @date 2021-11-27
 */
public class ReportSettlement extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long classSettlementId;

    /** 班结编码，和油站id搭配排重 */
    private String classNo;

    private Long enterpriseId;

    public String getEnterpriseName() {
        return enterpriseName;
    }

    public void setEnterpriseName(String enterpriseName) {
        this.enterpriseName = enterpriseName;
    }

    /** 企业名称 */
    @ApiModelProperty(value = "油企名称")
    @Excel(name = "油企名称")
    private String enterpriseName;


    /** 油站id */
    private Long stationId;

    /** 油站名称 */
    @ApiModelProperty(value = "油站名称")
    @Excel(name = "油站名称")
    private String stationName;

    /** 支付方式 */
    private String payType;

    /** 加油员id */
    private String oilPersonnelId;

    /** 加油员name */
    private String oilPersonnelName;

    /** 油品id */
    private String oilId;

    /** 油品名称 */
    private String oilName;

    /** $column.columnComment */
    private BigDecimal oilPrice;

    /** 油枪号 */
    private String oilGun;

    /** 油品类型 */
    private String oilType;

    /** 数量(L/kg) */

    private BigDecimal orderLiters;

    /** 设备编码 */

    private String equipmentCode;

    /** 参加立减活动的id */
    private Long activityId;

    /** 参加活动的名称 */
    private String activityName;

    /** 此次班结订单数量 */
    @ApiModelProperty(value = "此次班结订单数量")

    private Long orderCount;

    /** 实收金额(元) */
    @ApiModelProperty(value = "实收金额(元)")
    @Excel(name = "实收总金额（元）")
    private BigDecimal amt;

    public BigDecimal getNodzkAmt() {
        return nodzkAmt;
    }

    public void setNodzkAmt(BigDecimal nodzkAmt) {
        this.nodzkAmt = nodzkAmt;
    }

    /** 无电子卡的实收金额(元) */
    @ApiModelProperty(value = "无电子卡的实收金额(元)")
    private BigDecimal nodzkAmt;

    /** 充值实收合计金额(元) */
    @ApiModelProperty(value = "充值实收合计金额(元)")

    private BigDecimal actualRechargeReceivedAmt;

    /** 实际充值赠送金额(元) */
    @ApiModelProperty(value = "实际充值赠送金额(元)")

    private BigDecimal actualRechargeGiftAmt;

    /** 应收总金额（元） */
    @ApiModelProperty(value = "应收总金额（元）")
    @Excel(name = "应收总金额（元）")
    private BigDecimal receivableAmt;

    /** 退款金额（元） */
    @ApiModelProperty(value = "退款金额（元）")
    private BigDecimal refundAmt;

    /** 短款金额 */

    private BigDecimal moreAmt;

    @ApiModelProperty(value = "优惠总金额（元）")
    @Excel(name = "优惠总金额（元）")
    private BigDecimal discountAmt;



    private BigDecimal discountCouponAmt;


    @ApiModelProperty(value = "优惠总金额（元）")
    private BigDecimal discountSum;

    @ApiModelProperty(value = "提现总金额（元）")

    private BigDecimal totalWithdrawalAmount;

    @ApiModelProperty(value = "手续费（元）")

    private BigDecimal commission;

    @ApiModelProperty(value = "现金总金额（元）")
    private BigDecimal totalCashAmount;

    @ApiModelProperty(value = "到账总金额（元）")
    private BigDecimal allAmt;

    @ApiModelProperty(value = "消费合计退款（元）")

    private BigDecimal consumptionRefundAmt;

    @ApiModelProperty(value = "优惠金额（元）")
    private BigDecimal totalDiscountAmt;


    @ApiModelProperty(value = "走字数")
    @Excel(name = "走字数")
    private BigDecimal totalWordCount;

    @ApiModelProperty(value = "损益")
    private BigDecimal lostWordAmt;

    public BigDecimal getTotalWordCount() {
        return totalWordCount;
    }

    public void setTotalWordCount(BigDecimal totalWordCount) {
        this.totalWordCount = totalWordCount;
    }

    public BigDecimal getLostWordAmt() {
        return lostWordAmt;
    }

    public void setLostWordAmt(BigDecimal lostWordAmt) {
        this.lostWordAmt = lostWordAmt;
    }


    public String getTimeOnTrade() {
        return timeOnTrade;
    }

    public void setTimeOnTrade(String timeOnTrade) {
        this.timeOnTrade = timeOnTrade;
    }

    @ApiModelProperty(value = "营业时间")
    @Excel(name = "营业时间")
    private String timeOnTrade;

    public String getClassesDayOrNight() {
        return classesDayOrNight;
    }

    public void setClassesDayOrNight(String classesDayOrNight) {
        this.classesDayOrNight = classesDayOrNight;
    }

    @ApiModelProperty(value = "班次")
    @Excel(name = "班次")
    private String classesDayOrNight;

    @ApiModelProperty(value = "充值合计提现（元）")
    private BigDecimal totalRechargeWithdrawalAmount;

    @ApiModelProperty(value = "充值合计退款（元）")
    private BigDecimal totalRechargeRefundAmt;


    public BigDecimal getRechargeReduceDiscounts() {
        return rechargeReduceDiscounts;
    }

    public void setRechargeReduceDiscounts(BigDecimal rechargeReduceDiscounts) {
        this.rechargeReduceDiscounts = rechargeReduceDiscounts;
    }

    @ApiModelProperty(value = "充值立减优惠金额（元）")
    private BigDecimal rechargeReduceDiscounts;

    @ApiModelProperty(value = "优惠券核销金额（元）")
    private BigDecimal killCouponAmt;

    public BigDecimal getPresentAmount() {
        return presentAmount;
    }

    public void setPresentAmount(BigDecimal presentAmount) {
        this.presentAmount = presentAmount;
    }

    @ApiModelProperty(value = "消费赠送金额（元）")
    private BigDecimal presentAmount;

    public BigDecimal getAggregatedPayment() {
        return aggregatedPayment;
    }

    public void setAggregatedPayment(BigDecimal aggregatedPayment) {
        this.aggregatedPayment = aggregatedPayment;
    }

    @ApiModelProperty(value = "聚合支付金额（元）")
    private BigDecimal aggregatedPayment;

    public BigDecimal getSuperPayAmt() {
        return superPayAmt;
    }

    public void setSuperPayAmt(BigDecimal superPayAmt) {
        this.superPayAmt = superPayAmt;
    }

    @ApiModelProperty(value = "超级会员金额提现用（元）")
    private BigDecimal superPayAmt;




    //0司机1油企
    @ApiModelProperty(value = "手续费支付者")
    private String channelFeePayer;
    public String getChannelFeePayer() {
        return channelFeePayer;
    }

    public void setChannelFeePayer(String channelFeePayer) {
        this.channelFeePayer = channelFeePayer;
    }


    public ReportSettlement() {
    }

    public BigDecimal getKillCouponAmt() {
        return killCouponAmt;
    }

    public void setKillCouponAmt(BigDecimal killCouponAmt) {
        this.killCouponAmt = killCouponAmt;
    }



    public void setScore(String score) {
        this.score = score;
    }

    public String getScore() {
        return score;
    }

    public BigDecimal getActualRechargeReceivedAmt() {
        return actualRechargeReceivedAmt;
    }

    public void setActualRechargeReceivedAmt(BigDecimal actualRechargeReceivedAmt) {
        this.actualRechargeReceivedAmt = actualRechargeReceivedAmt;
    }


    /** 消耗积分 */
    private String score;

    /** 班结开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date classStartTime;

    /** 班结截止时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date classEndTime;

    private String beginTime;


    private String endTime;





    public void setBeginTime(String beginTime) {
        this.beginTime = beginTime;
    }
    public String getBeginTime() {
        return beginTime;
    }
    @Override
    public String getEndTime() {
        return endTime;
    }

    @Override
    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }


    /** 创建人 */
    private Long createUser;

    /** 创建人名 */
    private String createName;

    private String note;

    private BigDecimal sumPrice;

    private BigDecimal serviceCharge;

    private Integer isPrint;


    public Integer getIsPrint() {
        return isPrint;
    }

    public void setIsPrint(Integer isPrint) {
        this.isPrint = isPrint;
    }

    public void setClassSettlementId(Long classSettlementId)
    {
        this.classSettlementId = classSettlementId;
    }



    public void setTotalWithdrawalAmount(BigDecimal totalWithdrawalAmount) {
        this.totalWithdrawalAmount = totalWithdrawalAmount;
    }


    public void setCommission(BigDecimal commission) {
        this.commission = commission;
    }

    public void setTotalCashAmount(BigDecimal totalCashAmount) {
        this.totalCashAmount = totalCashAmount;
    }



    public BigDecimal getTotalWithdrawalAmount() {
        return totalWithdrawalAmount;
    }

    public BigDecimal getCommission() {
        return commission;
    }

    public BigDecimal getTotalCashAmount() {
        return totalCashAmount;
    }



    public void setDiscountSum(BigDecimal discountSum) {
        this.discountSum = discountSum;
    }

    public BigDecimal getDiscountSum() {
        return discountSum;
    }

    public Long getClassSettlementId()
    {
        return classSettlementId;
    }
    public void setClassNo(String classNo)
    {
        this.classNo = classNo;
    }

    public String getClassNo()
    {
        return classNo;
    }
    public void setEnterpriseId(Long enterpriseId)
    {
        this.enterpriseId = enterpriseId;
    }

    public Long getEnterpriseId()
    {
        return enterpriseId;
    }
    public void setStationId(Long stationId)
    {
        this.stationId = stationId;
    }

    public Long getStationId()
    {
        return stationId;
    }
    public void setStationName(String stationName)
    {
        this.stationName = stationName;
    }

    public String getStationName()
    {
        return stationName;
    }
    public void setPayType(String payType)
    {
        this.payType = payType;
    }

    public String getPayType()
    {
        return payType;
    }
    public void setOilPersonnelId(String oilPersonnelId)
    {
        this.oilPersonnelId = oilPersonnelId;
    }

    public String getOilPersonnelId()
    {
        return oilPersonnelId;
    }
    public void setOilPersonnelName(String oilPersonnelName)
    {
        this.oilPersonnelName = oilPersonnelName;
    }

    public String getOilPersonnelName()
    {
        return oilPersonnelName;
    }
    public void setOilId(String oilId)
    {
        this.oilId = oilId;
    }

    public String getOilId()
    {
        return oilId;
    }
    public void setOilName(String oilName)
    {
        this.oilName = oilName;
    }

    public String getOilName()
    {
        return oilName;
    }

    public BigDecimal getOilPrice() {
        return oilPrice;
    }

    public void setOilPrice(BigDecimal oilPrice) {
        this.oilPrice = oilPrice;
    }

    public void setOilGun(String oilGun)
    {
        this.oilGun = oilGun;
    }

    public String getOilGun()
    {
        return oilGun;
    }
    public void setOilType(String oilType)
    {
        this.oilType = oilType;
    }

    public String getOilType()
    {
        return oilType;
    }
    public void setOrderLiters(BigDecimal orderLiters)
    {
        this.orderLiters = orderLiters;
    }

    public BigDecimal getOrderLiters()
    {
        return orderLiters;
    }
    public void setEquipmentCode(String equipmentCode)
    {
        this.equipmentCode = equipmentCode;
    }

    public String getEquipmentCode()
    {
        return equipmentCode;
    }
    public void setActivityId(Long activityId)
    {
        this.activityId = activityId;
    }

    public Long getActivityId()
    {
        return activityId;
    }
    public void setActivityName(String activityName)
    {
        this.activityName = activityName;
    }

    public String getActivityName()
    {
        return activityName;
    }
    public void setOrderCount(Long orderCount)
    {
        this.orderCount = orderCount;
    }

    public Long getOrderCount()
    {
        return orderCount;
    }
    public void setAmt(BigDecimal amt)
    {
        this.amt = amt;
    }

    public BigDecimal getAmt()
    {
        return amt;
    }
    public void setReceivableAmt(BigDecimal receivableAmt)
    {
        this.receivableAmt = receivableAmt;
    }

    public BigDecimal getReceivableAmt()
    {
        return receivableAmt;
    }
    public void setRefundAmt(BigDecimal refundAmt)
    {
        this.refundAmt = refundAmt;
    }

    public BigDecimal getRefundAmt()
    {
        return refundAmt;
    }
    public void setMoreAmt(BigDecimal moreAmt)
    {
        this.moreAmt = moreAmt;
    }

    public BigDecimal getMoreAmt()
    {
        return moreAmt;
    }
    public void setDiscountAmt(BigDecimal discountAmt)
    {
        this.discountAmt = discountAmt;
    }

    public BigDecimal getDiscountAmt()
    {
        return discountAmt;
    }
    public void setDiscountCouponAmt(BigDecimal discountCouponAmt)
    {
        this.discountCouponAmt = discountCouponAmt;
    }

    public BigDecimal getDiscountCouponAmt()
    {
        return discountCouponAmt;
    }
    public void setClassStartTime(Date classStartTime)
    {
        this.classStartTime = classStartTime;
    }

    public Date getClassStartTime()
    {
        return classStartTime;
    }
    public void setClassEndTime(Date classEndTime)
    {
        this.classEndTime = classEndTime;
    }

    public Date getClassEndTime()
    {
        return classEndTime;
    }
    public void setCreateUser(Long createUser)
    {
        this.createUser = createUser;
    }

    public Long getCreateUser()
    {
        return createUser;
    }
    public void setCreateName(String createName)
    {
        this.createName = createName;
    }

    public String getCreateName()
    {
        return createName;
    }
    public void setNote(String note)
    {
        this.note = note;
    }

    public String getNote()
    {
        return note;
    }

    public BigDecimal getSumPrice() {
        return sumPrice;
    }

    public void setSumPrice(BigDecimal sumPrice) {
        this.sumPrice = sumPrice;
    }

    public BigDecimal getServiceCharge() {
        return serviceCharge;
    }

    public void setServiceCharge(BigDecimal serviceCharge) {
        this.serviceCharge = serviceCharge;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("classSettlementId", getClassSettlementId())
                .append("classNo", getClassNo())
                .append("stationId", getStationId())
                .append("stationName", getStationName())
                .append("payType", getPayType())
                .append("oilPersonnelId", getOilPersonnelId())
                .append("oilId", getOilId())
                .append("oilName", getOilName())
                .append("oilPrice", getOilPrice())
                .append("oilGun", getOilGun())
                .append("oilType", getOilType())
                .append("orderLiters", getOrderLiters())
                .append("equipmentCode", getEquipmentCode())
                .append("activityId", getActivityId())
                .append("activityName", getActivityName())
                .append("orderCount", getOrderCount())
                .append("amt", getAmt())
                .append("receivableAmt", getReceivableAmt())
                .append("refundAmt", getRefundAmt())
                .append("moreAmt", getMoreAmt())
                .append("discountAmt", getDiscountAmt())
                .append("discountCouponAmt", getDiscountCouponAmt())
                .append("classStartTime", getClassStartTime())
                .append("classEndTime", getClassEndTime())
                .append("createTime", getCreateTime())
                .append("createUser", getCreateUser())
                .append("createName", getCreateName())
                .toString();
    }

    public BigDecimal getActualRechargeGiftAmt() {
        return actualRechargeGiftAmt;
    }

    public void setActualRechargeGiftAmt(BigDecimal actualRechargeGiftAmt) {
        this.actualRechargeGiftAmt = actualRechargeGiftAmt;
    }

    public BigDecimal getAllAmt() {
        return allAmt;
    }

    public void setAllAmt(BigDecimal allAmt) {
        this.allAmt = allAmt;
    }

    public BigDecimal getConsumptionRefundAmt() {
        return consumptionRefundAmt;
    }

    public void setConsumptionRefundAmt(BigDecimal consumptionRefundAmt) {
        this.consumptionRefundAmt = consumptionRefundAmt;
    }

    public BigDecimal getTotalDiscountAmt() {
        return totalDiscountAmt;
    }

    public void setTotalDiscountAmt(BigDecimal totalDiscountAmt) {
        this.totalDiscountAmt = totalDiscountAmt;
    }

    public BigDecimal getTotalRechargeWithdrawalAmount() {
        return totalRechargeWithdrawalAmount;
    }

    public void setTotalRechargeWithdrawalAmount(BigDecimal totalRechargeWithdrawalAmount) {
        this.totalRechargeWithdrawalAmount = totalRechargeWithdrawalAmount;
    }

    public BigDecimal getTotalRechargeRefundAmt() {
        return totalRechargeRefundAmt;
    }

    public void setTotalRechargeRefundAmt(BigDecimal totalRechargeRefundAmt) {
        this.totalRechargeRefundAmt = totalRechargeRefundAmt;
    }
}
